1
不変性によるデータの整合性:標準タプル
AI015Lesson 3
00:00

Juliaにおけるタプルは、長さが固定された順序付きコレクションであり、誤った状態変更を防ぐことでデータの整合性を確保するように設計されています。 配列は角括弧で表される一方、タプルは丸括弧とコンマで表されます定義例として tup1=(5,10,15,20,25,30)

1. 基本的な特性

配列と同様に、タプルも要素の順序が保たれた集合ですこれにより、範囲指定での抽出が可能になります。例えば tup1[3:end] のように元のデータの一部を返すことができます。またタプルは非常に柔軟で、 構造のネストが可能です。例えば tup1 = ((1,2),(3,4))の場合、最初のグループは tup1[1] で取得でき、さらに tup1[1][2]

2. 不変性の契約

最も重要な違いは タプルは不変であることです。インスタンス化後はその内容を変更できません。例えば tup1[2]=0 という操作を行うと MethodErrorが発生し、実質的にデータを「ロック」します。

配列 [可変][1, 2, 3]タプル (不変)(1, 2, 3)tup1[2]=0 → MethodError

3. 最適化

タプルは不変であるため、Juliaのコンパイラはメモリ上の格納をしばしば最適化でき、小さな固定サイズのデータグループに対して配列よりも大幅に高速になります。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>